package com.hs.srm.admin.modules.orders.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.hs.srm.base.common.annotation.DictMapping;
import com.hs.srm.base.common.base.CloneableEntity;
import com.hs.srm.base.common.utils.DictDataUtil;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 送货单VO
 * @Author ych
 * @Date 2020-04-23
 */
@Data
public class ScmPoitemDeliverVO implements Serializable , CloneableEntity<ScmPoitemDeliverVO> {

    /**
     * 发货记录表id
     */
    private String delieverId;

    /**
     * 订单item表id
     */
    private String poItemId;

    /**
     * 发货单编号
     */
    private String deliveryOrderCode;

    /**
     * 供应商名称
     */
    private String vendorName;

    /**
     * 供应商编码
     */
    private String vendorCode;

    /**
     * 送货日期
     */
    @JSONField(format = "yyyy-MM-dd")
    private Date deliveryDate;

    /**
     * 采购凭证号
     */
    private String poNo;

    /**
     * 行项目
     */
    private String poItemNo;

    /**
     * 物料编码
     */
    private String materialCode;

    /**
     * 物料描述
     */
    private String materialDesc;

    /**
     * 采购订单的计量单位
     */
    @DictMapping(type = DictDataUtil.DictType.JLDW)
    private String poUnit;

    /**
     * 申请数量
     */
    private BigDecimal poCount;

    /**
     * 待发货数量
     */
    private BigDecimal backOrders;

    /**
     * 发货数量
     */
    private BigDecimal shippedQty;

    /**
     * 请购人
     */
    private String requester;

    /**
     * 采购组
     */
    @DictMapping(type = DictDataUtil.DictType.CGZ)
    private String purchGroup;

    @Override
    public ScmPoitemDeliverVO clone() {
        try {
            return (ScmPoitemDeliverVO)super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}
